module.exports = {
  root: true,
  plugins: ['stylelint-order'],
  extends: [
    'stylelint-config-standard',
    'stylelint-config-recess-order',
  ],
  overrides: [
    {
      files: ['**/*.less'],
      customSyntax: 'postcss-less',
    },
    {
      files: ['**/*.html', '**/*.vue'],
      customSyntax: 'postcss-html',
    },
  ],
  ignoreFiles: [
    '**/*.js',
    '**/*.jsx',
    '**/*.ts',
    '**/*.tsx',
    'stats.html'
  ],
  rules: {
    // 类名的命名规范
    'selector-class-pattern': null,
    // 禁止未知的伪类选择器
    'selector-pseudo-class-no-unknown': [
      true,
      {
        ignorePseudoClasses: ['global', 'deep'],
      },
    ],
    // 禁止未知的伪元素选择器
    'selector-pseudo-element-no-unknown': [
      true,
      {
        ignorePseudoElements: ['v-deep'],
      },
    ],
    // 不允许未知的规则
    'at-rule-no-unknown': [
      true,
      {
        ignoreAtRules: [
          'tailwind',
          'apply',
          'variants',
          'responsive',
          'screen',
          'function',
          'if',
          'each',
          'include',
          'mixin',
        ],
      },
    ],
    // 禁止空源
    'no-empty-source': null,
    // 在声明的冒号后需要一个空格或不允许有空格
    'declaration-colon-space-after': 'always-single-line',
    // 在声明的冒号之前需要一个空格或不允许空格
    'declaration-colon-space-before': 'never',
    // 要求或不允许在规则之前有一个空行
    'rule-empty-line-before': [
      'always',
      {
        ignore: ['after-comment', 'first-nested'],
      },
    ],
    // 禁止未知单位
    'unit-no-unknown': [true, { ignoreUnits: ['rpx'] }],
    // 引入的写法
    'import-notation': 'string',
    // rgb 颜色的写法
    'color-function-notation': 'legacy',
    // 透明度的写法
    'alpha-value-notation': 'number'
  },
}
